## 1.1 PRD输出环境

| 文档状态 | 产品版本 | 文档编号 | 撰写人 | 撰写日期 |
| ---- | :---: | :---: | --- | ---- |
| 编辑中 | V1.0 | 2019-12-31 | 某某某 | 2019-12-31 |
| 修改中 |  |  |  |  |
| 已完成 |  |  |  |  |
<br>
## 1.2 修订记录

| 版本号 | 修订日期 | 修订内容 | 修订人 |
| :---: | :---: | :---: | :---: |
| V1.0 | 2017-04-05 | 新增【工作台】、【分享】功能 | 某某某 |
| V1.0 | 2018-02-28 | 修复样式BUG | 某某某 |
| V1.0 | 2019-04-10 | 新增【游客访问】功能 | 某某某 |
| V1.0 | 2019-10-11 | 删除【工作台展示模式设置】功能 | 某某某 |
|  |  |  |  |
<br>
## 1.3名词解释

| 专业名词 | 描述 |
| ---- | --- |
| 工作台 | <span class="highlight" style="background-color:rgb(255, 255, 255)"><span style="color:#505050"><span class="font" style="font-family:&quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, 微软雅黑, &quot;Microsoft JhengHei&quot;, 黑体, arial, STHeiti, 宋体"><span class="size" style="font-size:14px">个人用户登录后展示个人创建、协同的项目。</span></span></span></span> |
| 游客访问 | <span class="highlight" style="background-color:rgb(255, 255, 255)"><span style="color:#505050"><span class="font" style="font-family:&quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, 微软雅黑, &quot;Microsoft JhengHei&quot;, 黑体, arial, STHeiti, 宋体"><span class="size" style="font-size:14px">不需要注册登录即可访问猪齿鱼的部分功能（比如知识库分享）。在使用需要登录的功能时，引导用户前往注册登录。</span></span></span></span> |
| <span class="highlight" style="background-color:rgb(255, 255, 255)"><span style="color:#505050"><span class="font" style="font-family:&quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, 微软雅黑, &quot;Microsoft JhengHei&quot;, 黑体, arial, STHeiti, 宋体"><span class="size" style="font-size:14px">公开可下载</span></span></span></span> | <span class="highlight" style="background-color:rgb(255, 255, 255)"><span style="color:#505050"><span class="font" style="font-family:&quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, 微软雅黑, &quot;Microsoft JhengHei&quot;, 黑体, arial, STHeiti, 宋体"><span class="size" style="font-size:14px">他人可在用户的工作台或用户给出的链接内访问、下载项目。</span></span></span></span> |
| <span class="highlight" style="background-color:rgb(255, 255, 255)"><span style="color:#505050"><span class="font" style="font-family:&quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, 微软雅黑, &quot;Microsoft JhengHei&quot;, 黑体, arial, STHeiti, 宋体"><span class="size" style="font-size:14px">私有</span></span></span></span> | <span class="highlight" style="background-color:rgb(255, 255, 255)"><span style="color:#505050"><span class="font" style="font-family:&quot;PingFang SC&quot;, &quot;Microsoft YaHei&quot;, 微软雅黑, &quot;Microsoft JhengHei&quot;, 黑体, arial, STHeiti, 宋体"><span class="size" style="font-size:14px">设置为私有的项目在他人访问用户个人主页时不会显示，只能通过用户分享的链接预览查看。</span></span></span></span> |
|  |  |
<br>
<br>
## 2.1 产品介绍

Choerodon 猪齿鱼是开源多云技术平台，是基于 Kubernetes 的容器编排和管理能力，整合 DevOps 工具链、微服务和移动应用框架，来帮助企业实现敏捷化的应用交付和自动化的运营管理，并提供 IoT、支付、数据、智能洞察、企业应用市场等业务组件，来帮助企业聚焦于业务，加速数字化转型。
<br>
## 2.2 用户群体

中小型及大型企业。
<br>
## 2.3 需求清单

| 序号 | 需求名称 | 需求描述 | 需求来源 | 状态 | 优先级 |
| :---: | :---: | :---: | :---: | :---: | :---: |
| 1 | 文档分享 | 将文档分享某人 | 产品部 | 已完成 | 高 |
| 2 | 找回密码 | 对忘记登录密码的用户，发送重置密码邮件 | 产品部 | 待处理 | 中 |
| 3 | 游客模式 | 未注册登录情况下仅能查看被分享的内容 | 产品部 | 处理中 | 低 |
| 4 | 权限设置 | 对工作台中的项目进行权限设置 | 产品部 | 已完成 | 高 |
|  |  |  |  |  |  |
<br>
## 2.4 需求变更记录

| 修改时间 | 版本 | 属性 | 描述 | 修改人 |
| ---- | --- | --- | --- | --- |
| 2018-04-05 | V1.0 | 新增 | 1.新增游客模式<br>2.新增权限管理 | 某某某 |
| 2018-06-07 | V1.0 | 删除 | 修改项目名称功能 | 某某某 |
| 2018-08-19 | V1.0 | 修改 | 修改知识库项目权限设置 | 某某某 |
|  |  |  |  |  |
<br>
## 2.5 功能列表

| 功能模块 | 功能点 | 功能描述 | 优先级 |
| ---- | --- | ---- | :---: |
| @rows=4:登录/注册 | 邮箱登录/注册 | 用户可通过邮箱登录，系统自动监测邮箱账号是否正确，并跳转到对应的登录/注册页面 | 中 |
| 找回密码 | 帮助用户找回邮箱登录密码 | 中 |  |
| 工号登录 | 用户可快速通过工号登录 | 中 |  |
| 游客访问 | 用户未注册登录时，仅可访问被分享的内容 | 低 |  |
| @rows=3:个人信息 | 接收设置 | 对项目通知和平台通知的设置 | 高 |
| 权限信息 | 权限信息的展示 | 中 |  |
| 退出登录 | 退出当前登录账号，回到登录/注册页面 | 中 |  |
<br>
## 3.1 信息结构图

3.2 功能结构图
3.3 交互原型

<br>
## 4.1 功能权限

#### 登录前
<br>
以游客的身份进行使用，只能查看分享的文档内容。

![image](https://minio.choerodon.com.cn/knowledgebase-service/file_382c09bd7a404b60bae5569f46f17207_blob.png)
<br>
#### 登录后
<br>
可使用所有功能

![image](https://minio.choerodon.com.cn/knowledgebase-service/file_2ba1001e2b94471098ff019df2ebc677_blob.png)
<br>
## 4.2 异常提示

交互触发：输入账号/密码不正确时，出现异常提示

![image](https://minio.choerodon.com.cn/knowledgebase-service/file_34d520f0441042e28e2c7cdd457b25fd_blob.png)
<br>
## 4.3 页面交互

#### hover
<br>
交互触发：鼠标移入或移出触发区域，触发对应反馈，展示或隐藏信息。

![image](https://minio.choerodon.com.cn/knowledgebase-service/file_41519c998a2440549c0e68d37b473b3c_blob.png)
<br>
## 4.4  弹层交互

#### toast
<br>
交互触发：操作相应的功能后，在页面左下角出现，2s后自动消失。

弹层交互：渐隐渐现
<br>
#### 对话框
<br>
交互触发：操作相应的功能后，在页面中心出现，用户对其进行操作后消失。

弹层交互：渐隐渐现
<br>
## 4.5 机制与规则

#### 排序规则
<br>
1.最近更新：内容列表按照更新的时间进行倒序排列

2.工作列表：列表内容按照用户创建时间的先后进行倒序排列

<br>
#### 搜索规则
<br>
1.知识库中的搜索功能，搜索范围为所有已创建的知识库和文档的项目。

2.支持模糊搜索。

3.搜索逻辑为点击搜索，输入关键词后，点击键盘上的“确认”/“回车键”进行搜索。

<br>
#### 加载机制
<br>
1.打开知识库时，系统自动加载项目内容。

2.加载过程中，toast提示错误信息，加载内容将不被展示。

<br>
<br>
## 页面说明（示例一）

![image](https://minio.choerodon.com.cn/knowledgebase-service/file_36393c4d192948e8ad801c789f257e3f_blob.png)

##### 1.格式验证：
<br>
当登录名/邮箱格式输入错误时，会有弹窗提示【邮箱格式不正确】
<br>
##### 产品逻辑：
<br>
1.当【邮箱账号】被检测【已注册】，则进入【登录页】

2.当【邮箱账号】被检测【未注册】，则进入【注册页】
<br>
##### 2.
<br>
点击输入框，出现输入光标；
未输入密码或者密码错误时，出现错误提示
<br>
##### 3.
<br>
注册
<br>
##### 4.
<br>
点击进入【重置密码】页面
<br>
##### 5.
<br>
登录

<br>
## 页面说明（示例二）

![image](https://minio.choerodon.com.cn/knowledgebase-service/file_acbc3948400a43a592e94e3874e9428b_blob.png)

| 控件名称 | 交互 | 文案 | 异常态/操作 | 异常反馈 |
| ---- | --- | --- | ------ | ---- |
| 登录名/邮箱输入框 | 点击输入框，输入框变亮，出现输入光标 | 登录名/邮箱 | 输入登录名/邮箱不正确 | 登录名/密码错误 |
| 登录按钮 | 点击按钮，按钮变为选中态，跳转到系统页 | 登录 | 输入登录名/邮箱不正确 | 登录名/密码错误 |
|  |  |  |  |  |
<br>
## 页面说明（示例三）
<br>
![image](https://minio.choerodon.com.cn/knowledgebase-service/file_acbc3948400a43a592e94e3874e9428b_blob.png)
<br>
##### 使用场景：
<br>
登录、注册、忘记密码。
<br>
##### 交互说明：
<br>
* 点击输入框，输入框边框边亮，出现输入光标。
* 点击登录按钮，按钮变为选中态，跳转到系统页。

<br>
##### 异常态反馈
<br>
* 输入登录名/邮箱名不正确，弹窗提示“登录名或密码错误”

<br>
<br>
## 5.1 数据需求

#### 性能需求

| 模块 | 响应时间 | 并发数 |
| --- | ---- | --- |
| 登录授权 | < 3s | 10000 |
| 搜索 | < 3s | 5000 |
| 加载/刷新 | < 3s | 5000 |
| 预览项目 | < 2s | 5000 |
<br>
#### 数据埋点
<br>

| 事件编号 | 统计事件埋点路径 |
| ---- | -------- |
| 1 | 进入登录/注册页-游客访问 |
| 2 | 进入登录/注册页---忘记密码---重置邮件---登陆成功 |
| 3 | 进入个人信息页---查看权限信息、接收设置 |
<br>
<br>
## 5.2 其它非功能性需求

#### 服务需求

| 服务事件 | 服务频率 | 场景描述 | 协助类型 | 解决方案 | 需要协助方 | 服务成本 |
| ---- | ---- | ---- | ---- | ---- | ----- | ---- |
| 客户投诉 | 10次/周 | 无法登陆 | 客服 | 查看操作手册 | 技术人员 | 0.5个工作日 |
| 注册协议 | 1次 | 用户注册前阅读并同意的协议规定 | 法务 |  | 运营、产品 | 2个工作日 |
| 活动费用 | 1次 | 财务报销活动费用 | 财务 | 提交支出明细 | 运营 | 0.5个工作日 |
|  |  |  |  |  |  |  |
<br>
##### 风险描述
<br>

| 服务事件 | 服务频率 | 场景描述 | 协助类型 | 解决方案 | 需要协助方 | 服务成本 |
| ---- | ---- | ---- | ---- | ---- | ----- | ---- |
| 客户投诉 | 10次/周 | 无法登陆 | 客服 | 查看操作手册 | 技术人员 | 0.5个工作日 |
| 注册协议 | 1次 | 用户注册前阅读并同意的协议规定 | 法务 |  | 运营、产品 | 2个工作日 |
| 活动费用 | 1次 | 财务报销活动费用 | 财务 | 提交支出明细 | 运营 | 0.5个工作日 |
|  |  |  |  |  |  |  |
<div/>
## Javascript Styles

* * *
* **2 spaces** – for indentation
* **Single quotes for strings** – except to avoid escaping
* **No unused variables** – this one catches tons of bugs!
* **No semicolons** – It's fine. Really!
* **Space after keywords**
```
if (condition) { ... }
```

## Usage

* * *
After you've installed standard, you should be able to use the standard program. The simplest use case would be checking the style of all JavaScript files in the current working directory:
```
1. 在这里编写代码

2.

3.

```
<div/>
## 会议纪要

##### 日期：

##### 与会人员：
<br>
### 目标
<br>
<span style="color:#b8b8b8">制定本次会议的目标或者描述会议的上下文</span><span style="color:#d8d8d8">。</span>
<br>
### 议程
<br>

| # | 议题 | 负责人 | 时间 |
| --- | --- | --- | --- |
| 1 | <span style="color:#b8b8b8">议题内容描述</span> | <span style="color:#b8b8b8">人员姓名</span> | <span style="color:#b8b8b8">持续时间</span> |
| 2 |  |  |  |
<br>
### 记录

* <span style="color:#b8b8b8">会议要点1</span>
* <span style="color:#b8b8b8">会议要点2</span>

<br>
<br>
### 后续工作
<br>
<span style="color:#b8b8b8">负责人：工作安排项</span><span style="color:#b8b8b8"></span>
<span style="color:#b8b8b8"></span>
<span style="color:#b8b8b8">负责人：工作安排项</span>
<div/>
## 竞品分析

### 目的
<br>
描述做这次竞品分析的目的，因为不同的目的侧重点也会有所差异。

可能是为了寻找可借鉴学习之处；可能是为了摸查竞争对手情况做好应对策略；也有可能是作为融资计划的参考数据。
<br>
### 市场分析
<br>
描述目前行业市场的相关信息，可以通过以下渠道收集信息：

从公司内部市场、运营部门、管理层等收集信息；行业媒体平台新闻及论坛及QQ群，搜索引擎，比如艾瑞咨询，AppAnnie；行业专家博客、微博、微信公众账号订阅。
<br>
### 竞品概况
<br>
描述竞品相关的一些信息，比如公司团队状况、产品定位、核心数据分析、盈利模式等等。
<br>
## 产品分析

#### 产品功能

可以从产品基本信息、产品功能逻辑、产品渠道（平台）等方面进行分析。

#### 产品交互设计

通过截图的方式对比交互和设计内容，可以包含：主要风格、色彩体系、布局结构、品质感、字体、功能页面比较。

#### 技术分析

以移动App举例，技术分析包含：应用大小、启动时长、功能页面加载时长、CPU、内存消耗、崩溃率、版本迭代速度等。 这需要根据不同产品进行不同的技术分析。
<br>
## 产品优劣势

综合评价所选竞品的优势势，以及各自其中的机会和威胁。
<br>
## 总结

分析的结论一般可以包括两大部分，一是对研究对象的分析总结，二是对自己的行动建议。

<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<div/>
## 产品规划

##### 日期：

##### 与会人员：
<br>
## Sprint 1

时间：2020-01-12-2020-02-02

#### 工作项：

* 希望支持账号系统，以便于能够管理自己的账号
* 希望支持丰富的文本格式，以便于我更好的组织笔记内容
* 希望有笔记本的概念，以便于我更好的整理我的笔记
* 希望能加入产品路线图，以及原型，以便于我更好的规划产品

## Sprint 2

时间：2020-01-12-2020-02-02

#### 工作项：

* 希望支持账号系统，以便于能够管理自己的账号
* 希望支持丰富的文本格式，以便于我更好的组织笔记内容
* 希望有笔记本的概念，以便于我更好的整理我的笔记
* 希望能加入产品路线图，以及原型，以便于我更好的规划产品

<br>
<br>
<br>
<br>
<div/>
## 敏捷迭代回顾会议

**会议主题**：某某项目迭代回顾会

**会议主持**：某某某

**参会人员**：某某某、某某某

**会议时间**：2020-01-07
<br>
### 会议内容及决议
<br>
##### 主要议题
<br>
1. 讨论在本次迭代中做了哪些出色的任务，并且有可以相互学习的地方。
2. 讨论在本次迭代中未完成或完成不好的任务，分析其中的原因。

<br>
##### 会议过程
<br>

| 做的好的地方 | 做的差的地方 | 原因类型 | 如何解决 | 责任人 |
| ------ | ------ | ---- | ---- | --- |
| 整个迭代的故事完成 | 没有及时拖动看板任务 | 自身 | 做完的任务及时处理 | 某某某 |
| 数据权限方案讨论有可行的结果 | 后端对接时间太短 | 自身 | 按照一天做主要任务对接 | 某某某 |
| 任务基本完成 |  |  |  | 某某某 |
|  | 任务被堵塞 | 敏捷 | 每天跟进对接任务 | 某某某 |
|  |  |  |  |  |

##### 会议决议
<br>
下一个迭代将重点针对以下几个方面改进：

1. 加大力度跟催业务对接进度
2. 规范敏捷仪式
<div/>
# XX 产品测试计划

* * *

## 编写目的

> 根据 XX 产品质量等级结合产品研发现状，确定测试范围、确定测试需求、制定测试策略、确定测试方法、确定测试资源、制定测试风险应对方案、评估测试交付件，预估迭代功能测试和SIT/UAT测试的工作量，进行人员和进度的安排。

## 文档受众

XX 产品项目经理、产品、设计、开发、测试。

## 测试范围

- 迭代测试
- 版本测试
- Unit
- Function
- SIT
- UAT
## 测试策略
### 功能测试
#### 测试目标
迭代计划会上backlog中本次迭代所有确认故事的功能正常
#### 测试范围
- 测试计划所规定的测试范围。
##### 完成标准
- 功能测试用例设计已经通过评审
- 按照功能测试计划完成了功能测试
- 达到了功能测试计划中关于功能测试所规定的覆盖率的要求
- 在功能测试中发现的错误已经得到修复，各级缺陷修复率达到标准
#### 使用工具
1. Choerodon
2. Java + TestNG + Selenium
3. JMeter
### 易用性测试
#### 测试目标
模拟无使用经验用户，测试系统的易用性。
#### 测试范围
##### 前端页面
- 完成标准
前端各个页面上功能交互设计符合可接受易用性标准。
- 使用工具
### 兼容性测试
#### 测试目标
确认是否支持所有浏览器，访问后页面所有功能可用无异常。
#### 测试范围
- 前端页面
- 完成标准
主流浏览器访问所有页面功能可用无异常。
- 使用工具
- Java + TestNG + Selenide
## 工作量评估
概述：当前业界关于测试工作量评估方法有三种（Delphi、人力投入比、WBS工作分解结构评估方法），由于我们产品无标准的历史测试工作数据可参考无法满足Delphi方法前置条件；迭代测试工作量评估采用人力投入比方法开发:测试=3:1计算，版本测试相对内容有具体范围所以采用WBS工作分解结构评估方法计算评估。
- 迭代测试
a)	人力投入比：
b)	将迭代测试主要工作内容进行WBS工作分解：
- 版本测试
- WBS工作分解评估法

| 模块 | 二级菜单 | 三级菜单 | 优先级 | 用例编写 | 测试执行 | 总计 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 汇总 |  |  |  |  |  |  |  |
- 文档测试
- 集成测试
### 测试资源
- 测试人员
- 测试环境
a)	Staging
b)	Alpha
- 测试工具
a)	猪齿鱼
b)	Java + TestNG + Selenium
c)	JMeter

## 进度安排
### 短期计划
- 迭代测试
- 版本测试
- 用例整改

### 长期规划
- 迭代测试
- 自动化测试
- 文档测试
- 社区维护
- 非功能测试

## 风险应对

| 风险类 | 实例 | 处理措施 |
| --- | --- | --- |
|  |  |  |
## 交付件
- 测试计划
- 测试用例
- 缺陷分析报告
- 迭代测试报告
- 版本测试报告
## 参考资料
《猪齿鱼敏捷管理团队是如何执行敏捷的》